package com.gpt.article.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;
import java.util.Map;

/**
 * 模型比较对象 q_content
 * 
 * @author zhuzi
 * @date 2024-02-25
 */
public class QContent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** fileId */
    private Long fileId;

    /**用于重试定位**/
    private Long acontentId;

    /** 问题 */
    @Excel(name = "问题")
    private String prompts;

    /** 生成状态（0未生成 1生成中 2生成完成 3生成失败） */
    private String genStatus;

    /** 使用模型(多个,隔开) */
    private String modelCodes;

    /** 生成查询数据量 **/
    private Integer gennum;

    /** 回答列表 */
    private List<AContent> aContents;

    private Map<String, List<AContent>> mapAcontentByModel;


    /** 总花费token */
//    @Excel(name = "总花费token")
    private Integer useToken;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPrompts(String prompts) 
    {
        this.prompts = prompts;
    }

    public String getPrompts() 
    {
        return prompts;
    }
    public void setGenStatus(String genStatus) 
    {
        this.genStatus = genStatus;
    }

    public String getGenStatus() 
    {
        return genStatus;
    }
    public void setModelCodes(String modelCodes) 
    {
        this.modelCodes = modelCodes;
    }

    public String getModelCodes() 
    {
        return modelCodes;
    }
    public void setUseToken(Integer useToken) 
    {
        this.useToken = useToken;
    }

    public Integer getUseToken() 
    {
        return useToken;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("prompts", getPrompts())
            .append("genStatus", getGenStatus())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("modelCodes", getModelCodes())
            .append("useToken", getUseToken())
            .toString();
    }

    public Long getFileId() {
        return fileId;
    }

    public void setFileId(Long fileId) {
        this.fileId = fileId;
    }

    public Integer getGennum() {
        return gennum;
    }

    public void setGennum(Integer gennum) {
        this.gennum = gennum;
    }

    public List<AContent> getaContents() {
        return aContents;
    }

    public void setaContents(List<AContent> aContents) {
        this.aContents = aContents;
    }

    public Map<String, List<AContent>> getMapAcontentByModel() {
        return mapAcontentByModel;
    }

    public void setMapAcontentByModel(Map<String, List<AContent>> mapAcontentByModel) {
        this.mapAcontentByModel = mapAcontentByModel;
    }

    public Long getAcontentId() {
        return acontentId;
    }

    public void setAcontentId(Long acontentId) {
        this.acontentId = acontentId;
    }
}
